home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 November / CHIP Kasım 1998.iso / DRIVERS / CD-Rom / Ntcd.exe / OEMSETUP.INF < prev    next >
INI File  |  1997-04-03  |  21KB  |  608 lines

  1. ;-----------------------------------------------------------------------
  2. ; OPTION TYPE
  3. ; -----------
  4. ; This identifies the Option type we are dealing with.  The different
  5. ; possible types are:
  6. ;
  7. ; COMPUTER, VIDEO, POINTER, KEYBOARD, LAYOUT, SCSI, TAPE, PRINTER, ...
  8. ;-----------------------------------------------------------------------
  9.  
  10. [Identification]
  11.     OptionType = SCSI
  12.  
  13. ;-----------------------------------------------------------------------
  14. ; LANGUAGES SUPPORTED
  15. ; -------------------
  16. ;
  17. ; The languages supported by the INF, For every language supported
  18. ; we need to have a separate text section for every displayable text
  19. ; section.
  20. ;
  21. ;-----------------------------------------------------------------------
  22.  
  23. [LanguagesSupported]
  24.     ENG
  25.  
  26.  
  27. ;-----------------------------------------------------------------------
  28. ; OPTION LIST
  29. ; -----------
  30. ; This section lists the Option key names.  These keys are locale
  31. ; independent and used to represent the option in a locale independent
  32. ; manner.
  33. ;
  34. ;-----------------------------------------------------------------------
  35.  
  36. [Options]
  37.     "pcmcdi"     = pcmcdi
  38.  
  39. ;-----------------------------------------------------------------------
  40. ; OPTION TEXT SECTION
  41. ; -------------------
  42. ; These are text strings used to identify the option to the user.  There
  43. ; are separate sections for each language supported.  The format of the
  44. ; section name is "OptionsText" concatenated with the Language represented
  45. ; by the section.
  46. ;
  47. ;-----------------------------------------------------------------------
  48.  
  49. [OptionsTextENG]
  50.  
  51.     "pcmcdi"     = "EXP Portable CD-ROM"
  52.  
  53. ;-----------------------------------------------------------------------------------------
  54. ; SCSI MINIPORT DRIVERS:
  55. ;
  56. ; Order of the information:
  57. ;
  58. ; Class driver = Type, Group, ErrorControl, Tag, EventMessageFile, TypesSupported
  59. ;
  60. ;-----------------------------------------------------------------------------------------
  61.  
  62. [MiniportDrivers]
  63.     pcmcdi   = !SERVICE_KERNEL_DRIVER, "SCSI Miniport", !SERVICE_ERROR_NORMAL,  17, %SystemRoot%\System32\IoLogMsg.dll , 7
  64.  
  65. ;---------------------------------------------------------------------------
  66. ; 1. Identify
  67. ;
  68. ; DESCRIPTION:   To verify that this INF deals with the same type of options
  69. ;                as we are choosing currently.
  70. ;
  71. ; INPUT:         None
  72. ;
  73. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  74. ;                $($R1): Option Type (COMPUTER ...)
  75. ;                $($R2): Diskette description
  76. ;---------------------------------------------------------------------------
  77.  
  78. [Identify]
  79.     ;
  80.     ;
  81.     read-syms Identification
  82.  
  83.     set Status     = STATUS_SUCCESSFUL
  84.     set Identifier = $(OptionType)
  85.     set Media      = #("Source Media Descriptions", 1, 1)
  86.  
  87.     Return $(Status) $(Identifier) $(Media)
  88.  
  89.  
  90.  
  91. ;------------------------------------------------------------------------
  92. ; 2. ReturnOptions:
  93. ;
  94. ; DESCRIPTION:   To return the option list supported by this INF and the
  95. ;                localised text list representing the options.
  96. ;
  97. ;
  98. ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
  99. ;
  100. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  101. ;                                STATUS_NOLANGUAGE
  102. ;                                STATUS_FAILED
  103. ;
  104. ;                $($R1): Option List
  105. ;                $($R2): Option Text List
  106. ;------------------------------------------------------------------------
  107.  
  108. [ReturnOptions]
  109.     ;
  110.     ;
  111.     set Status        = STATUS_FAILED
  112.     set OptionList     = {}
  113.     set OptionTextList = {}
  114.  
  115.     ;
  116.     ; Check if the language requested is supported
  117.     ;
  118.     set LanguageList = ^(LanguagesSupported, 1)
  119.     Ifcontains(i) $($0) in $(LanguageList)
  120.         goto returnoptions
  121.     else
  122.         set Status = STATUS_NOLANGUAGE
  123.         goto finish_ReturnOptions
  124.     endif
  125.  
  126.     ;
  127.     ; form a list of all the options and another of the text representing
  128.     ;
  129.  
  130. returnoptions = +
  131.     set OptionList     = ^(Options, 0)
  132.     set OptionTextList = ^(OptionsText$($0), 1)
  133.     set Status         = STATUS_SUCCESSFUL
  134.  
  135. finish_ReturnOptions = +
  136.     Return $(Status) $(OptionList) $(OptionTextList)
  137.  
  138.  
  139. ;
  140. ; 3. InstallOption:
  141. ;
  142. ; FUNCTION:  To copy files representing Options
  143. ;            To configure the installed option
  144. ;            To update the registry for the installed option
  145. ;
  146. ; INPUT:     $($0):  Language to use
  147. ;            $($1):  OptionID to install
  148. ;            $($2):  SourceDirectory
  149. ;            $($3):  AddCopy  (YES | NO)
  150. ;            $($4):  DoCopy   (YES | NO)
  151. ;            $($5):  DoConfig (YES | NO)
  152. ;
  153. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  154. ;                            STATUS_NOLANGUAGE |
  155. ;                            STATUS_USERCANCEL |
  156. ;                            STATUS_FAILED
  157. ;
  158.  
  159. [InstallOption]
  160.  
  161.     set KeyName = "System\CurrentControlSet\Services\Pcmcia\DataBase"
  162.     OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(!REG_KEY_ALL_ACCESS) PcmciaKeyHandle
  163.     ifstr(i) $(PcmciaKeyHandle) != ""
  164.             OpenRegKey $(!REG_H_LOCAL) "" $(KeyName)"\EXP   " $(!REG_KEY_ALL_ACCESS) TestKeyHandle
  165.                             ifstr(i) $(TestKeyHandle) == ""
  166.                     CreateRegKey $(PcmciaKeyHandle) {"EXP   ",0,GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" MfgKeyHandle
  167.                                     CreateRegKey $(MfgKeyHandle) {"CD-ROM",0,GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" CDROMKeyHandle
  168.                                     SetRegValue     $(CDROMKeyHandle) {Driver,0,$(!REG_VT_SZ),"pcmcdi"}
  169.                             CloseRegKey $(CDROMKeyHandle)
  170.                     CloseRegKey $(MfgKeyHandle)
  171.             endif
  172.             CloseRegKey $(TestKeyHandle)
  173.             OpenRegKey $(!REG_H_LOCAL) "" $(KeyName)"\EXP" $(!REG_KEY_ALL_ACCESS) TestKeyHandle
  174.                             ifstr(i) $(TestKeyHandle) == ""
  175.                     CreateRegKey $(PcmciaKeyHandle) {"EXP",0,GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" MfgKeyHandle
  176.                                     CreateRegKey $(MfgKeyHandle) {"CD+GAME",0,GenericClass} "" $(!REG_KEY_ALL_ACCESS) "" CDGAMEKeyHandle
  177.                                     SetRegValue     $(CDGAMEKeyHandle) {Driver,0,$(!REG_VT_SZ),"pcmcdi"}
  178.                             CloseRegKey $(CDGAMEKeyHandle)
  179.                     CloseRegKey $(MfgKeyHandle)
  180.             endif
  181.             CloseRegKey $(TestKeyHandle)
  182.     endif
  183.     CloseRegKey $(PcmciaKeyHandle)
  184.  
  185.     ;
  186.     ; Set default values for
  187.     ;
  188.     set Status = STATUS_FAILED
  189.     set DrivesToFree = {}
  190.  
  191.     ;
  192.     ; extract parameters
  193.     ;
  194.     set Option   = $($1)
  195.     set SrcDir   = $($2)
  196.     set AddCopy  = $($3)
  197.     set DoCopy   = $($4)
  198.     set DoConfig = $($5)
  199.  
  200.     ;
  201.     ; Check if the language requested is supported
  202.     ;
  203.     set LanguageList = ^(LanguagesSupported, 1)
  204.     Ifcontains(i) $($0) in $(LanguageList)
  205.     else
  206.         set Status = STATUS_NOLANGUAGE
  207.         goto finish_InstallOption
  208.     endif
  209.     read-syms Strings$($0)
  210.  
  211.     ;
  212.     ; check to see if Option is supported.
  213.     ;
  214.  
  215.     set OptionList = ^(Options, 0)
  216.     ifcontains $(Option) in $(OptionList)
  217.     else
  218.         Debug-Output "SCSI.INF: SCSI option is not supported."
  219.         goto finish_InstallOption
  220.     endif
  221.     set OptionList = ""
  222.  
  223.     ;
  224.     ; Option has been defined already
  225.     ;
  226.  
  227.     set MiniportDriver   =   #(Options,         $(Option),         1)
  228.     set Type             = $(#(MiniportDrivers, $(MiniportDriver), 1))
  229.     set Group            =   #(MiniportDrivers, $(MiniportDriver), 2)
  230.     set ErrorControl     = $(#(MiniportDrivers, $(MiniportDriver), 3))
  231.     set Tag              =   #(MiniportDrivers, $(MiniportDriver), 4)
  232.     set EventMessageFile =   #(MiniportDrivers, $(MiniportDriver), 5)
  233.     set TypesSupported   =   #(MiniportDrivers, $(MiniportDriver), 6)
  234.  
  235.     set Start            =   $(!SERVICE_BOOT_START)
  236.  
  237. installtheoption = +
  238.  
  239.     ;
  240.     ; Code to add files to copy list
  241.     ;
  242.  
  243.     ifstr(i) $(AddCopy) == "YES"
  244.         set DoActualCopy = NO
  245.         set FileToCheck = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  246.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  247.         ifstr(i) $(STATUS) == NO
  248.             set DoActualCopy = YES
  249.         endif
  250.  
  251.         ifstr(i) $(DoActualCopy) == NO
  252.             shell "subroutn.inf" DriversExist $($0) $(String1)
  253.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  254.                 Debug-Output "SCSI.INF: shelling DriversExist failed"
  255.                 goto finish_InstallOption
  256.             endif
  257.  
  258.             ifstr(i) $($R0) == STATUS_CURRENT
  259.             else-ifstr(i) $($R0) == STATUS_NEW
  260.                 set DoActualCopy = YES
  261.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  262.                 Debug-Output "SCSI.INF: User cancelled SCSI installation"
  263.                 goto finish_InstallOption
  264.             else
  265.                 Debug-Output "SCSI.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  266.                 goto finish_InstallOption
  267.             endif
  268.         endif
  269.  
  270.         ifstr(i) $(DoActualCopy) == YES
  271.  
  272.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  273.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  274.                 Debug-Output "SCSI.INF: shelling DoAskSourceEx failed"
  275.                 goto finish_InstallOption
  276.             endif
  277.  
  278.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  279.                 set SrcDir = $($R1)
  280.                 ifstr(i) $($R2) != ""
  281.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  282.                 endif
  283.             else
  284.                 Debug-Output "SCSI.INF: User cancelled asking source."
  285.                 goto finish_InstallOption
  286.             endif
  287.  
  288.             install Install-AddCopyOption
  289.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  290.                 Debug-Output "Adding SCSI files to copy list failed"
  291.                 goto finish_InstallOption
  292.             endif
  293.         else
  294.             set DoCopy = NO
  295.         endif
  296.  
  297.     endif
  298.  
  299.     ifstr(i) $(DoCopy) == "YES"
  300.         read-syms ProgressCopy$($0)
  301.         install Install-DoCopyOption
  302.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  303.             Debug-Output "Copying files failed"
  304.             goto finish_InstallOption
  305.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  306.             set Status = STATUS_USERCANCEL
  307.             goto finish_InstallOption
  308.         endif
  309.     endif
  310.  
  311.     ifstr(i) $(DoConfig) == "YES"
  312.         ;
  313.         ; first run a privilege check on modifying the setup node
  314.         ;
  315.  
  316.         shell "registry.inf" CheckSetupModify
  317.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  318.             goto finish_InstallOption
  319.         endif
  320.  
  321.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  322.             goto finish_InstallOption
  323.         endif
  324.  
  325.         ;
  326.         ; then make a new SCSI entry, the entry is created automatically
  327.         ; enabled
  328.         ;
  329.  
  330.         set ServiceNode   = $(MiniportDriver)
  331.         set ServiceBinary = System32\drivers\#(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  332.  
  333.         set ServicesValues   = { +
  334.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  335.                 {Start,          0, $(!REG_VT_DWORD),     $(Start)                 }, +
  336.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  337.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  338.                 {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
  339.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  340.                 }
  341.         set ParametersValues = ""
  342.         set DeviceValues     = {}
  343.         set EventLogValues   = { +
  344.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  345.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  346.                 }
  347.  
  348.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  349.                                                 $(ServicesValues)   +
  350.                                                 $(ParametersValues) +
  351.                                                 $(DeviceValues)     +
  352.                                                 $(EventLogValues)   +
  353.                                                 Parameters
  354.  
  355.  
  356.  
  357.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  358.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  359.             goto finish_InstallOption
  360.         endif
  361.  
  362.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  363.             Debug-Output "MakeServicesEntry failed for SCSI"
  364.             goto finish_InstallOption
  365.         endif
  366.  
  367.     endif
  368.  
  369.     set Status = STATUS_SUCCESSFUL
  370. finish_InstallOption = +
  371.     ForListDo $(DrivesToFree)
  372.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  373.     EndForListDo
  374.  
  375.     Return $(Status)
  376.  
  377.  
  378. [Install-AddCopyOption]
  379.  
  380.     ;
  381.     ; Add the files to the copy list
  382.     ;
  383.     AddSectionKeyFileToCopyList   Files-ScsiMiniportDrivers         +
  384.                                   $(MiniportDriver)                 +
  385.                                   $(SrcDir)                      +
  386.                                   $(!STF_WINDOWSSYSPATH)\drivers
  387.  
  388.     exit
  389.  
  390.  
  391. [Install-DoCopyOption]
  392.  
  393.     ;
  394.     ; Copy files in the copy list
  395.     ;
  396.     CopyFilesInCopyList
  397.     exit
  398.  
  399. ;-------------------------------------------------------------------------
  400. ; 4. DeInstallOption:
  401. ;
  402. ; FUNCTION:  To remove files representing Option
  403. ;            To remove the registry entry corresponding to the Option
  404. ;
  405. ; INPUT:     $($0):  Language to use
  406. ;            $($1):  OptionID to install
  407. ;
  408. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  409. ;                            STATUS_NOLANGUAGE |
  410. ;                            STATUS_USERCANCEL |
  411. ;                            STATUS_FAILED
  412. ;-------------------------------------------------------------------------
  413. [DeInstallOption]
  414.  
  415.     set KeyName = "System\CurrentControlSet\Services\Pcmcia\DataBase"
  416.     OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(!REG_KEY_ALL_ACCESS) PcmciaKeyHandle
  417.             OpenRegKey $(!REG_H_LOCAL) "" $(KeyName)"\EXP   " $(!REG_KEY_ALL_ACCESS) TestKeyHandle
  418.             ifstr(i) $(TestKeyHandle) != ""
  419.                     DeleteRegTree $(PcmciaKeyHandle) "EXP   "
  420.             endif
  421.             CloseRegKey $(TestKeyHandle)
  422.             OpenRegKey $(!REG_H_LOCAL) "" $(KeyName)"\EXP" $(!REG_KEY_ALL_ACCESS) TestKeyHandle
  423.             ifstr(i) $(TestKeyHandle) != ""
  424.                     DeleteRegTree $(PcmciaKeyHandle) "EXP"
  425.             endif
  426.             CloseRegKey $(TestKeyHandle)
  427.     CloseRegKey $(PcmciaKeyHandle)
  428.  
  429.     ;
  430.     ; Set default values for
  431.     ;
  432.     set Status   = STATUS_FAILED
  433.     ;
  434.     ; extract parameters
  435.     ;
  436.     set Option   = $($1)
  437.  
  438.     ;
  439.     ; Check if the language requested is supported
  440.     ;
  441.     set LanguageList = ^(LanguagesSupported, 1)
  442.     Ifcontains(i) $($0) in $(LanguageList)
  443.     else
  444.         set Status = STATUS_NOLANGUAGE
  445.         goto finish_DeInstallOption
  446.     endif
  447.     read-syms Strings$($0)
  448.  
  449.     ;
  450.     ; check to see if Option is supported.
  451.     ;
  452.  
  453.     set OptionList = ^(Options, 0)
  454.     ifcontains $(Option) in $(OptionList)
  455.     else
  456.         goto finish_DeInstallOption
  457.     endif
  458.     set OptionList = ""
  459.  
  460.     ;
  461.     ; fetch details about option
  462.     ;
  463.  
  464.     set MiniportDriver = #(Options, $(Option), 1)
  465.     set MiniportFile   = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  466.     set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
  467.  
  468.     ;
  469.     ; check to see if file is installed
  470.     ; if not give success
  471.     ;
  472.  
  473.     LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
  474.     ifstr(i) $(STATUS) == "NO"
  475.         set Status = STATUS_SUCCESSFUL
  476.         goto finish_DeInstallOption
  477.     endif
  478.  
  479.     shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
  480.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  481.         ; this could happen if there is no start value or there is no
  482.         ; key, in which case the option is not installed
  483.         set Status = STATUS_SUCCESSFUL
  484.         goto finish_DeInstallOption
  485.     endif
  486.  
  487.     ifstr(i) $($R1) == $(!SERVICE_BOOT_START)
  488.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "WARNING" $(String3)
  489.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  490.             goto do_removal
  491.         endif
  492.         ifstr(i) $($R1) == "CANCEL"
  493.             goto finish_DeInstallOption
  494.         endif
  495.     endif
  496.  
  497. do_removal =+
  498.     ;
  499.     ; disable the registry entry
  500.     ;
  501.  
  502.     shell "registry.inf" RemoveServicesEntry $(MiniportDriver)
  503.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  504.         Debug-Output "SCSI.INF: Failed to shell RemoveServicesEntry"
  505.         goto finish_DeInstallOption
  506.     endif
  507.  
  508.     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  509.         Debug-Output "SCSI.INF: Failed to disable services entry"
  510.         goto finish_DeInstallOption
  511.     endif
  512.  
  513.     ;
  514.     ; we won't remove the file because we can only do so during the next boot.
  515.     ; if the user chooses to reinstall the same driver during this boot
  516.     ; he will still end up deleting the driver on next boot. if the file
  517.     ; should be deleted a warning should be put up saying that the user should
  518.     ; not try to reinstall the driver during this boot
  519.     ;
  520.     ;    AddFileToDeleteList $(FilePath)
  521.  
  522.     set Status = STATUS_SUCCESSFUL
  523.  
  524. finish_DeInstallOption =+
  525.     return $(Status)
  526.  
  527.  
  528. ;-------------------------------------------------------------------------
  529. ; 5. GetInstalledOptions:
  530. ;
  531. ; FUNCTION:  To find out the list of options which are installed
  532. ;
  533. ; INPUT:     $($0): Language to Use
  534. ;
  535. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  536. ;                            STATUS_FAILED
  537. ;
  538. ;            $($R1): List of options installed
  539. ;            $($R2): Option installed Text List
  540. ;-------------------------------------------------------------------------
  541. [GetInstalledOptions]
  542.     set Status = STATUS_FAILED
  543.     set InstalledOptions = {}
  544.     set InstalledOptionsText = {}
  545.  
  546.     ;
  547.     ; Check if the language requested is supported
  548.     ;
  549.     set LanguageList = ^(LanguagesSupported, 1)
  550.     Ifcontains(i) $($0) in $(LanguageList)
  551.     else
  552.         set Status = STATUS_NOLANGUAGE
  553.         goto finish_GetInstalledOptions
  554.     endif
  555.  
  556.     set OptionList = ^(Options, 0)
  557.     ForListDo $(OptionList)
  558.         set MiniportDriver = #(Options, $($), 1)
  559.         set MiniportFile   = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  560.         set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
  561.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
  562.         ifstr(i) $(STATUS) == "YES"
  563.             shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
  564.             ifint $($ShellCode) == $(!SHELL_CODE_OK)
  565.                 ifstr(i) $($R0) == STATUS_SUCCESSFUL
  566.                     ifstr(i) $($R1) != $(!SERVICE_DISABLED)
  567.  
  568.                         set OptionText = #(OptionsText$($0), $($), 1)
  569.                         set InstalledOptions     = >($(InstalledOptions), $($))
  570.                         set InstalledOptionsText = >($(InstalledOptionsText), $(OptionText))
  571.  
  572.                     endif
  573.                 endif
  574.             endif
  575.         endif
  576.     EndForListDo
  577.     set Status = STATUS_SUCCESSFUL
  578. finish_GetInstalledOptions =+
  579.     Return $(Status) $(InstalledOptions) $(InstalledOptionsText)
  580.  
  581.  
  582. ;**************************************************************************
  583. ; PROGRESS GUAGE VARIABLES
  584. ;**************************************************************************
  585.  
  586. [ProgressCopyENG]
  587.     ProCaption   = "Windows NT Setup"
  588.     ProCancel    = "Cancel"
  589.     ProCancelMsg = "Windows NT is not correcly installed.  Are you sure you want "+
  590.                    "to cancel copying files?"
  591.     ProCancelCap = "Setup Message"
  592.     ProText1     = "Copying:"
  593.     ProText2     = "To:"
  594.  
  595. [StringsENG]
  596.     String1 = "EXP Portable CD-ROM"
  597.     String2 = "Please enter a:\ or b:\ to copy the EXP Portable CD-ROM "+
  598.               "files. Then choose Continue."
  599.     String3 = "The EXP Portable CD-ROM has been marked as a boot device. Removing "+
  600.               "it may cause the system not to boot."$(!LF)$(!LF)"Are you sure "+
  601.               "you want to remove it."
  602.  
  603. [Source Media Descriptions]
  604.     1  = "EXP Portable CD-ROM Device Drivers Diskette", TAGFILE = disk1
  605.  
  606. [Files-ScsiMiniportDrivers]
  607. pcmcdi   = 1, pcmcdi.sys, SIZE=18592
  608.